<!DOCTYPE HTML>
<html>
<head>
<title>Else | AutoHotkey</title>
<meta name="description" content="The Else statement specifies the code line(s) to perform if an If statement evaluates to false." />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
</head>
<body>

<h1>Else</h1>

<p>指定当 IF 语句计算结果为 FALSE 时执行的命令. 包含多个命令时, 需要把它们括在<a href="Block.htm">区块</a>(大括号)中.</p>

<pre class="Syntax"><span class="func">Else</span></pre>
<h2>备注</h2>
<p>每次使用 ELSE 都必须附属于(与之关联) 它上面的 IF 语句. ELSE 总是附属于在它上面且离它最近的无主 IF 语句, 不过可以使用<a href="Block.htm">区块</a>改变这种行为.</p>
<p>ELSE 的同一行中可以紧跟着其他任何的单个命令. 这种形式最常使用于 "else if" 梯形结构(请参阅底部的例子).</p>
<p>当 <a href="IfEqual.htm">IF</a> 或 ELSE 结构中含有多行命令时, 这些命令必须括在大括号中. 不过, 如果只有一行命令从属于 IF 或 ELSE, 那么可以不用大括号. 例如:</p>
<pre>if count &gt; 0  <em>; 下一行可以不需要使用大括号括住, 因为它只有一行.</em>
    MsgBox Press OK to begin the process.
else  <em>; 下面这部分必须使用大括号括住, 因为它含有多行.</em>
{
    WinClose Untitled - Notepad
    MsgBox There are no items present.
}</pre>
<p><a href="Block.htm#otb">One True Brace(OTB) 风格</a> 可以用于 "else" 前后. 例如:</p>
<pre>if IsDone {
    ...
} else if (x &lt; y) {
    ...
} else {
    ...
}</pre>
<h2>相关</h2>
<p>请参阅<a href="Block.htm">区块</a>. 还有, 每种 IF 命令都可以使用 ELSE, 包括 <a href="WinActive.htm">IfWinActive</a>, <a href="WinExist.htm">IfWinExist</a>, <a href="IfMsgBox.htm">IfMsgBox</a>, <a href="IfInString.htm">IfInString</a>, <a href="IfBetween.htm">IfBetween</a>, <a href="IfIn.htm">IfIn</a>, <a href="IfEqual.htm">IF</a> 和 <a href="IfExpression.htm">IF (表达式)</a>.</p>
<h2>示例</h2>
<pre class="NoIndent">IfWinExist, Untitled - Notepad
{
    WinActivate
    Send This is a test.{Enter}
}
else
{
    WinActivate, Some Other Window
    MouseClick, left, 100, 200
}

if x = 1
    Gosub, a1
else if x = 2 <em>; "else if" 类型</em>
    Gosub, a2
else IfEqual, x, 3 <em>; 可选类型</em>
{
    Gosub, a3
    Sleep, 1
}
else Gosub, a4  <em>; 即任何单个命令都可以和 ELSE 放在同一行.</em>
 
<em>; 这样也行:</em>
IfEqual, y, 1, Gosub, b1
else {
    Sleep, 1
    Gosub, b2
}</pre>

</body>
</html>